From: Carlos Garnacho Date: Thu, 6 Feb 2020 09:38:50 +0000 (+0100) Subject: magnifier: Clip all crosshair lines at even distances X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~777^2^2~160 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=bda18888c054ec83ccf7a7f7121b9691e0b9bb97;p=gnome-shell.git magnifier: Clip all crosshair lines at even distances If the crosshair is clipped so it doesn't cover the pointer cursor, the clip rectangle is skewed towards the bottom/right. This was made so to accomodate the default pointer, but the unevenness stays on other pointer cursors, and it makes the crosshair look odd on short crosshair length. Make all lines clip to an even distance from the center instead. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984 --- diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js index 8d2bf34a6..7250ce530 100644 --- a/js/ui/magnifier.js +++ b/js/ui/magnifier.js @@ -1809,12 +1809,10 @@ class Crosshairs extends Clutter.Actor { let clipWidth = this._clipSize[0]; let clipHeight = this._clipSize[1]; - // Note that clip, if present, is not centred on the cross hair - // intersection, but biased towards the top left. - let left = groupWidth / 2 - clipWidth * 0.25 - leftLength; - let right = groupWidth / 2 + clipWidth * 0.75; - let top = groupHeight / 2 - clipHeight * 0.25 - topLength - thickness / 2; - let bottom = groupHeight / 2 + clipHeight * 0.75 + thickness / 2; + let left = groupWidth / 2 - clipWidth / 2 - leftLength - thickness / 2; + let right = groupWidth / 2 + clipWidth / 2 + thickness / 2; + let top = groupHeight / 2 - clipHeight / 2 - topLength - thickness / 2; + let bottom = groupHeight / 2 + clipHeight / 2 + thickness / 2; this._horizLeftHair.set_position(left, (groupHeight - thickness) / 2); this._horizRightHair.set_position(right, (groupHeight - thickness) / 2); this._vertTopHair.set_position((groupWidth - thickness) / 2, top);